/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package negocio;

import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;

/**
 *
 * @author diego
 */
public class Seccion {
    
    private Integer id;
    private String codigo;    
    private Map<String,Fila> filas;
    private Sala sala;
    private boolean estado;

    public Seccion() {
    }

    public Seccion(String codigo,  Sala sala) {        
        this.codigo = codigo;       
        this.filas = new HashMap();
        this.sala = sala;
        this.estado = true;
        Complejo.persistencia.insert(this);
                
    }

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getCodigo() {
        return codigo;
    }

    public void setCodigo(String codigo) {
        this.codigo = codigo;
    }
  
    public Map<String, Fila> getFilas() {
        return filas;
    }

    public void setFilas(Map<String, Fila> filas) {
        this.filas = filas;
    }

    public Sala getSala() {
        return sala;
    }

    public void setSala(Sala sala) {
        this.sala = sala;
    }

    public boolean isEstado() {
        return estado;
    }

    public void setEstado(boolean estado) {
        this.estado = estado;
    }
    
    public void deshabilitar(){
        this.setEstado(false);
    }
    public void habilitar(){
        this.setEstado(true);
    }
    
    public Map<String,Butaca> obtenerButacas(){
        Map <String,Butaca> misButacas = new HashMap();
        Iterator it = this.filas.entrySet().iterator();
        Fila unaFila;
        
        while(it.hasNext()){
            unaFila = (Fila) it.next();
            misButacas.putAll(unaFila.getButacas());
        }
        
        
        return misButacas;
    } 
    
    public void quitarfilas(){
        Fila unaFila;
        Iterator it = this.filas.entrySet().iterator();
        while(it.hasNext()){
            unaFila = (Fila) it.next();
            unaFila.quitarButacas();
          //  this.filas.remove(unaFila);
            unaFila.deshabilitar();
        }
    }
    
    public Map<String,Fila> obtenerFilas(){
        return this.filas;
    }
    
    public void agregarFila(String unNro){
        Fila unaFila = new Fila(unNro, this);
        this.filas.put(unNro, unaFila);
    }
    
    public String toString(){
        return this.codigo;
    }
}
